package cn.yuanqiao.archive.liyong.mapper;

import cn.yuanqiao.archive.appManager.domain.DataScopeBase;
import cn.yuanqiao.archive.liyong.domain.YqDy;
import cn.yuanqiao.common.annotation.DataScope;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 我的订阅Mapper接口
 * 
 * @author sy
 * @date 2023-08-10
 */
public interface YqDyMapper 
{
    /**
     * 查询我的订阅
     * 
     * @param yqDy 我的订阅
     * @return 我的订阅
     */
    public YqDy selectYqDyByDyId(YqDy yqDy);

    /**
     * 查询我的订阅
     *
     * @param yqDy 我的订阅
     * @return 我的订阅
     */
    public YqDy selectYqDyByDyGjc(YqDy yqDy);

    /**
     * 查询我的订阅列表
     * 
     * @param yqDy 我的订阅
     * @return 我的订阅集合
     */
    @DataScope(deptAlias = "d", userAlias = "d",deptColumn = "GDCS_ID",userColumn = "CREATOR_ID")
    public List<YqDy> selectYqDyList(@Param("dataScopeBase") DataScopeBase dataScopeBase, @Param("yqDy") YqDy yqDy);

    public List<YqDy> selectYqDyListAll(YqDy yqDy);
    /**
     * 新增我的订阅
     * 
     * @param yqDy 我的订阅
     * @return 结果
     */
    public int insertYqDy(YqDy yqDy);

    /**
     * 修改我的订阅
     * 
     * @param yqDy 我的订阅
     * @return 结果
     */
    public int updateYqDy(YqDy yqDy);

    /**
     * 删除我的订阅
     * 
     * @param dyId 我的订阅主键
     * @return 结果
     */
    public int deleteYqDyByDyId(Long dyId);

    /**
     * 批量删除我的订阅
     * 
     * @param IDs 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteYqDyByDyIds(@Param("yqDyTable") String yqDyTable, @Param("IDs") Long[] IDs);

    /**
     * 批量删除我的订阅
     *
     * @param IDs 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteYqDyDaByDyIds(@Param("yqDyDaTbale") String yqDyDaTbale, @Param("IDs") Long[] IDs);

    /**
     * 批量删除我的订阅
     *
     * @param IDs 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteYqXxTzByRecordIds(@Param("yqXxTzTable") String yqXxTzTable, @Param("IDs") Long[] IDs);

    /**
     * 关键词判重（根据关键词是否相同）
     *
     * @param yqDy 关键词
     * @return 结果
     */
    public int isOnly(YqDy yqDy);

    /**
     * 修改消息数目，-1
     *
     * @param yqDy 关键词
     * @return 结果
     */
    public void updateYqDyXxsm(YqDy yqDy);
}
